Microsoft DirectX 8.1 (C++)

Capturing VBI Data

DirectShow provides kernel-mode filters for capturing NABTS, Line 21, and World Standard Teletext (WST) data (for PAL signals) from the vertical blanking interval (VBI) of an analog TV broadcast signal. These filters appear in GraphEdit under the WDM Streaming VBI Codecs category. The capture filter has an output pin that delivers raw sampled waveforms to the Tee/Sink-to-Sink Converter, which examines the data for any NABTS IP data, Line 21 closed captioning, or teletext information that may be present on the signal, and creates an output pin for each data type. To add the filters for decoding closed-captioned or teletext data, use the ICaptureGraphBuilder2::RenderStream method on the appropriate output pin of the MSTee filter. The previous illustration shows the filters for capturing and rendering CC data, and the AMCap sample demonstrates how to add the closed-captioned filters to the graph. For NABTS IP data you must manually add and connect the chain of filters downstream from the Video Capture filter. The following illustration shows the VBI segment of a graph that handles both NABTS data and closed captions. Note the addition of the Tee/Sink-to-Sink Converter filter to split the VBI data into two streams.

Note   If the capture filter exposes a �HWCC� output pin, then this must be connected directly to the HWCC pin on the CC Decoder.

NABTS and CC Graph Segment

There are no application-callable interfaces on these kernel-mode filters. They simply function as a data pipeline that extracts SLIP-encoded IP packets from the VBI signal and passes them on to Winsock.

For teletext data, the filters appear as shown in the following illustration.

World Standard Teletext Filter Graph Segment

Some capture devices perform NABTS, teletext or CC decoding in hardware. When this is the case, the capture filter will expose a special output pin and the downstream decoder simply passes the data through without modifying it. No special programming is required by the application developer.